package com.zhentao.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.zhentao.dto.CouponDTO;
import com.zhentao.dto.UserCouponDTO;
import com.zhentao.pojo.Coupon;

import java.util.List;

/**
 * 优惠券Service接口
 */
public interface CouponService extends IService<Coupon> {
    
    /**
     * 获取可领取的优惠券列表
     */
    List<CouponDTO> getAvailableCoupons();
    
    /**
     * 用户领取优惠券
     */
    boolean receiveCoupon(Long userId, Long couponId);
    
    /**
     * 获取用户已领取的优惠券列表
     */
    List<UserCouponDTO> getUserCoupons(Long userId);
    
    /**
     * 获取用户可用的优惠券列表
     */
    List<UserCouponDTO> getUserAvailableCoupons(Long userId);
    
    /**
     * 使用优惠券
     */
    boolean useCoupon(Long userId, Long userCouponId, Long orderId);
    
    /**
     * 检查优惠券是否可用
     */
    boolean isCouponAvailable(Long couponId);
} 